//package com.liyiqing.secondhandmall.productservice.interceptor;
//
//
//import com.alibaba.fastjson.JSONObject;
//import com.liyiqing.commonservice.utils.StatusCode;
//import com.mysql.cj.util.StringUtils;
//import org.springframework.data.redis.core.RedisTemplate;
//import org.springframework.data.redis.core.StringRedisTemplate;
//import org.springframework.stereotype.Component;
//import org.springframework.web.servlet.HandlerInterceptor;
//
//import javax.annotation.Resource;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import java.io.PrintWriter;
//import java.util.concurrent.TimeUnit;
//
///**
// * 验证token的拦截器
// */
//@Component
//public class TokenInterceptor implements HandlerInterceptor {
//
//    @Resource
//    private RedisTemplate redisTemplate;
//
//
//    @Override
//    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//        response.setCharacterEncoding("UTF-8");
//        response.setContentType("application/json");
//
//        PrintWriter out = null;
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("code", StatusCode.NOT_LOGGED_IN.getCode());
//        jsonObject.put("msg",StatusCode.NOT_LOGGED_IN.getMsg());
//
//
//        //获取前端请求头中传来的token内容
//        String token = request.getHeader("token");
//        //如果token的内容为空，表示未登录
//        if (StringUtils.isNullOrEmpty(token)){
//            System.out.println("token内容为空!");
//
//            out = response.getWriter();
//            out.append(jsonObject.toString());
//            return false;
//        }
//        try{
////            redisTemplate.opsForValue().set(token,"123",200, TimeUnit.SECONDS);
//            Long expire =  redisTemplate.getExpire(token);//获取有效时间
//            System.out.println("expire="+expire);
//            if (expire > 0){
//                System.out.println("token验证成功！");
//                //重置token的有效时间
//                redisTemplate.expire(token,200,TimeUnit.SECONDS);
//                return true;
//            }
//
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//        System.out.println("token验证失败");
//        out = response.getWriter();
//        out.append(jsonObject.toString());
//        return false;
//    }
//
//
//}
